package com.ruoyi.mes.mapper;

import java.math.BigDecimal;
import java.util.List;
import com.ruoyi.mes.domain.MesJobDone;
import com.ruoyi.mes.domain.MesJobDoneWorkers;
import com.ruoyi.mes.domain.MesTasks;

/**
 * 完工汇报Mapper接口
 * 
 * @author ruoyi
 * @date 2021-12-16
 */
public interface MesJobDoneMapper 
{
    /**
     * 查询完工汇报
     * 
     * @param jobDoneUuid 完工汇报主键
     * @return 完工汇报
     */
    public MesJobDone selectMesJobDoneByJobDoneUuid(String jobDoneUuid);

    /**
     * 查询完工汇报列表
     * 
     * @param mesJobDone 完工汇报
     * @return 完工汇报集合
     */
    public List<MesJobDone> selectMesJobDoneList(MesJobDone mesJobDone);

    /**
     * 新增完工汇报
     * 
     * @param mesJobDone 完工汇报
     * @return 结果
     */
    public int insertMesJobDone(MesJobDone mesJobDone);

    /**
     * 新增时剩余可填报实际数量
     *
     * @param mesJobDone 实际数量汇报
     * @return 实际数量
     */
    public BigDecimal selectRemainJobDoneQty(MesJobDone mesJobDone);
    /**
     * 修改完工汇报
     * 
     * @param mesJobDone 完工汇报
     * @return 结果
     */
    public int updateMesJobDone(MesJobDone mesJobDone);

    /**
     * 删除完工汇报
     * 
     * @param jobDoneUuid 完工汇报主键
     * @return 结果
     */
    public int deleteMesJobDoneByJobDoneUuid(String jobDoneUuid);

    /**
     * 批量删除完工汇报
     * 
     * @param jobDoneUuids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteMesJobDoneByJobDoneUuids(String[] jobDoneUuids);

    /**
     * 批量删除完工汇报（工人、工时）
     * 
     * @param jobDoneUuids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteMesJobDoneWorkersByFkJobDoneUuids(String[] jobDoneUuids);
    
    /**
     * 批量新增完工汇报（工人、工时）
     * 
     * @param mesJobDoneWorkersList 完工汇报（工人、工时）列表
     * @return 结果
     */
    public int batchMesJobDoneWorkers(List<MesJobDoneWorkers> mesJobDoneWorkersList);
    

    /**
     * 通过完工汇报主键删除完工汇报（工人、工时）信息
     * 
     * @param jobDoneUuid 完工汇报ID
     * @return 结果
     */
    public int deleteMesJobDoneWorkersByFkJobDoneUuid(String jobDoneUuid);
}
